Verification of correct operation of any software products is a very critical activity in any phase of their lifecycle. Particularly, in many situations it is important to verify that the software products perform as expected, for example, in terms of consumption of hardware and/or software resources (such as processing power) by the software products, which is very useful for several purposes such as, for example, to validate the software products, to predict the behavior of the software products in difference scenarios.
Some techniques have been proposed for estimating performance of software products. For example, a complexity analysis may be applied to any software product in an attempt to infer performance of the software product therefrom. Moreover, a contribution to an overall performance of the software product by different components thereof may be predicted by analyzing the effects of artificial performance degradations inserted into the software product.
A more accurate verification of performance of any software product is generally obtained by performing a corresponding performance test, so that one or more performance parameters of the software product (for example, its processing power consumption) are actually measured by running the software product in one or more reference scenarios.